package de.tum.in.elitese.wahlsys.persister.persistence_objects;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * see Table DIREKTKANDIDAT
 * 
 * @author Christoph Frenzel
 * 
 */
public class Direktkandidat extends Kandidat {
	private static final List<String> FIELD_NAMES = Collections.unmodifiableList(Arrays.asList(new String[] { "PERSONALAUSWEISNUMMER", "STIMMEN", "KANDIDATENRANG", "KANDIDATENWAHLKREIS",
			"KANDIDATENBUNDESLAND" }));

	private static final String TABLE_NAME = "DIREKTKANDIDAT";

	private Short fRang;

	private Integer fStimmen = 0;

	private Wahlkreis fWahlkreis;

	@Override
	public List<String> getPersistanceStrings() {
		List<Object> values = new ArrayList<Object>(2);
		values.add(getPersonalausweisnummer());
		values.add(getStimmen());
		values.add(getRang());
		values.add(getWahlkreis().getNummer());
		values.add(getWahlkreis().getBundesland().getName());

		List<String> result = super.getPersistanceStrings();
		result.add(createInsertString(TABLE_NAME, FIELD_NAMES, Collections.unmodifiableList(values)));
		return result;
	}

	public Short getRang() {
		return fRang;
	}

	public Integer getStimmen() {
		return fStimmen;
	}

	public Wahlkreis getWahlkreis() {
		return fWahlkreis;
	}

	public void setRang(Short rang) {
		fRang = rang;
	}

	public void setStimmen(Integer stimmen) {
		fStimmen = stimmen;
	}

	public void setWahlkreis(Wahlkreis wahlkreis) {
		fWahlkreis = wahlkreis;
	}
}
